"""
query函数可查询的数据
"""
import os
import sys

path = os.path.dirname(__file__)
sys.path.append(os.path.join(path, ".."))

from sqlalchemy import func
from conf.mysql_config import SESSION
from orm.demo3 import CompanyStaff


def search_data():
    # 1.模型对象。指定查找这个模型中所有的对象
    # results = SESSION.query(CompanyStaff).all()
    # for result in results:
    #     print(result.user_name, result.position.value)

    # 2.模型中的属性: 可以指定只查找某个模型的其中几个属性
    # results = SESSION.query(CompanyStaff.user_name, CompanyStaff.position).all()
    # for result in results:
    #     print(result, result[0], result[1].value)

    # 3.聚合函数
    # 1. func.count：统计行的数量
    count = SESSION.query(func.count(CompanyStaff.id)).all()
    print('func.count：', count)
    # 2.func.avg：求平均值
    avg_salary = SESSION.query(func.avg(CompanyStaff.salary)).all()
    print('func.avg：', avg_salary)
    # 3.func.max：求最大值
    max_salary = SESSION.query(func.max(CompanyStaff.salary)).all()
    print('func.max：', max_salary)
    # 4.func.min：求最小值
    min_salary = SESSION.query(func.min(CompanyStaff.salary)).all()
    print('func.min：', min_salary)
    # 5.func.sum：求和
    sum_salary = SESSION.query(func.sum(CompanyStaff.salary)).all()
    print('func.sum：', sum_salary)


if __name__ == '__main__':
    search_data()
